草庐IT

Python Django 模板 : Iterate Through List

全部标签

c++ - 如何用继承或模板(或其他任何东西?)

我的问题类似于:Can'tusemacrodefineclassinC++,但有点复杂:classABC{public:DECLARATION(ABC)private:voidABCFun1();voidABCFun2();//...andsoon}#defineDECLARATION(TYPE)\std::stringGetClassName()\{\returnstd::string(#TYPE);}\//themacrocangoesontodeclaremore//commoninterfaces,likeInitialize(),...etc.所以,重点是,我可以使用这个宏来

c++ - 此代码示例中使用了哪种模板特化?

我已阅读有关ExplicitSpecializationofClassTemplates的文档和PartialSpecializationofClassTemplates,但不明白这个例子中使用了什么样的特化(msdn链接仅由于我当前的环境而使用,问题或多或少是理论性的)。我需要c++标准中使用的名称和/或文档链接或对c++标准段落的引用。我试图解决的问题非常复杂,无法直接询问,但我知道如何使用与此示例中使用的方法类似的方法。templatestructis_vector{staticboolconstvalue=false;};templatestructis_vector>{sta

C++ 可变参数模板在虚拟抽象的外部未解析

今天我为我的项目编写代码,并在链接器外部遇到Unresolved问题,代码必须生成具有多个虚拟抽象方法的类-作为类集合的基础。所以我决定为此任务使用可变参数模板-但出现了错误。templatestructpin_tag{};//inputstemplateclassinputs_base:publicinputs_base{protected:typedefinputs_basebase_type;usingarg_type=T0;//usingbase_type::_in;virtualvoid_in(T0const&t,pin_tag)=0;};templateclassinput

c++ - 使用可变参数模板指定友元类

我正在尝试使用可变参数模板来指定友元类。我尝试使用以下语法,但它不起作用。templatestructA{friendArgs...;};我尝试编写一些解决方法,但似乎并不那么简单,因为友元不是传递和继承的。所以问题是是否有正确的语法或任何变通方法可以使Args中的每个单独类成为A的友元? 最佳答案 也许以下CRTP变体足以满足您的使用:templateclassAbase{friendArg;virtualintfoo(int)=0;//thisistheprivateinterfaceyouwanttoaccesspublic:

c++ - 如何确定通过套接字接收到的(序列化和模板化)对象是什么类型?

我正在使用googleprotobuf实现一个简单的Request/Response基于协议(protocol)。对等点可以通过socket接收两者Request和Response,(当然是serialized)作为string.我正在使用我自己的C++套接字实现,所以我实现了operator>>这样(同样适用于operator)从socket接收数据对象:...templatevoidoperator>>(M&m)throw(socks::exception){std::stringstr;if(!this->recv(str)){throwsocks::exception(">>f

c++ - C++ 模板可以推断返回类型吗?

我正在研究模板,想知道是否有任何方法可以使这样的代码正常工作。templateTfoo(inta){returna*2;}intsomething=foo(123);这里的问题是编译器无法推断类型。我知道如果我在上述情况下使用它会起作用。inta=foo(123);甚至templateTfoo(Ta){returna*2;}inta=foo(123);编辑:为了澄清,我想知道是否有可能让代码在像这样使用时返回一个doubledoublex=foo(123);而在像这样使用时返回一个intintx=foo(123);。 最佳答案 推断

c++ - GCC 向依赖默认构造函数的模板化类中的静态数据成员给出 "undefined reference"错误

我遇到了类似的问题:"undefinedreference"tostaticfieldtemplatespecialization但他们使用的解决方法对我不起作用。我有一个带有静态数据成员的CRTP类,其中之一是std::mutex。不幸的是,GCC(4.8.2)的链接器给我这个互斥锁的“undefinedreference”错误。Clang(3.4)没有。有解决方法吗?最初的问题(上面链接)在静态数据成员上调用了复制构造函数,迫使GCC发出一个符号,但是由于我的数据成员是std::mutex,所以这不是一个选项——复制构造函数被删除,并且有没有参数构造函数。我只是被冲洗了吗?我认为问

c++ - 模板类可选地插入初始值作为模板参数

我目前有一个类相当于:templateclassMyContainer{public:MyContainer():_value(){}TDoSomething();private:T_value;};我想这样做,以便我可以将初始值作为模板参数输入,如下所示:templateconstexprTGetInital(){return0;}templateconstexprstd::stringGetInital(){return"";}template()>classMyContainer{public:MyContainer():_value(initial){}TDoSomething

c++ - 浮点类型模板函数中的文字

这个问题以前出现过,特别是在这里Shouldwegenerallyusefloatliteralsforfloatsinsteadofthesimplerdoubleliterals?但我想知道现在我们在C++14领域并且存在用户定义文字和大括号初始化之类的东西,是否有更好的建议解决方案。问题可以表示为如何在浮点类型的模板函数中编写floattemplateTfoo(Tx){static_assert(std::is_floating_point::value,"");Ty=x*101.0;return(y);}所以问题归结为我们如何写“101.0”,因为它是一个double,所以如果

c++ - 如果一个函数类型只依赖于它自己的模板参数,它是否依赖于它?

我发现当前C++编译器(clang/gcc)确定名称是否依赖的方式不一致。在下面的示例中,A::f是相关的,但::f不是,导致使用后者时出错。templatestructB{typedefintType;};templatestaticUf(Uu);templatestructA{templatestaticUf(Uu);typenameB::Typem1;//typenamerequiredB::Typem2;//typenamenotrequired};不一致的部分是A::f的声明不依赖于A的模板参数,这意味着似乎没有必要将其视为依赖名称.此行为似乎包含在C++11标准中的以下措辞